/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Assigment.Serializacion;

/**
 *
 * @author Gunner
 */
import java.io.*;
import java.util.Scanner;

public class Serializacion {
   
    
   
    public static void main(String[] args){
       
        // crear objetos de la clase agenda
        Persona P1;
        P1=voidIngresarDatos();       
        
        // iniciar el proceso de serialización
        // colocar los objetos a1 y a2 en disco
        try {
            //Creamos el archivo
            FileOutputStream fs =
                    new FileOutputStream("personas.ser");
            //Esta clase tiene el método writeObject() que necesitamos
            ObjectOutputStream os =
                    new ObjectOutputStream(fs);

            //El método writeObject() serializa el objeto 
            //y lo escribe en el archivo         
            os.writeObject(P1);
            
            //Hay que cerrar siempre el archivo
            os.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println(
                "Los Objetos se han serializado correctamente.");
       
        
       
        
    }    
    
     //Creamos un metodo que nos permita ingresar datos desde el Teclado  
    
    // variables auxiliares para completar datos de Persona
    static String Nombre;
    static String APaterno;
    static String AMaterno;
    static String Distrito;
    static String Provincia;
    static String Departamento;
    static Nombre nombre_completo;
    static Direccion direccion_persona;
    static Persona Personita;
    
    //------------------------------------------------------
    InputStreamReader isr = new InputStreamReader(System.in);
    BufferedReader br = new BufferedReader (isr);
    //------------------------------------------------------
     public  static Persona  voidIngresarDatos(){
     
        
        Scanner Lector=new Scanner(System.in);
        System.out.println("Ingrese los datos de la Persona : ");
        System.out.println("===============================");
        System.out.print("Nombre : ");
        Nombre = Lector.next();
        System.out.print("Apellido Paterno : ");
        APaterno = Lector.next();
        System.out.print("Apellido Materno: ");
        AMaterno = Lector.next();
        System.out.print("Distrito : ");
        Distrito = Lector.next();
        System.out.print("Provincia : ");
        Provincia = Lector.next();
        System.out.print("Departamento : ");
        Departamento = Lector.next();
        nombre_completo = new Nombre(Nombre,APaterno,AMaterno);
        direccion_persona = new Direccion(Distrito,Provincia,Departamento);
        Personita=new Persona(nombre_completo,direccion_persona);
            
        return Personita;  
        
        
        
    }
    
}
